<?php
namespace app\admin\model;

use think\Db;
use think\Model;

class AdminAuthRule extends Model
{
    /**
     * 获取权限列表
     */
    public function ruleList()
    {
        return Db::name('admin_auth_rule')->select();
    }

    /**
     * 添加权限规则
     */
    public function addRule($data)
    {
        return Db::name('admin_auth_rule')->insert($data);
    }

    /**
     * 获取全部数据
     * @param  string $type  tree获取树形结构 level获取层级结构
     * @param  string $order 排序方式
     * @return array         结构数据
     */
    public function getTreeData($type='tree',$order='',$name='name',$child='id',$parent='pid'){
        vendor('Org.Nx.Data#class');
        // 判断是否需要排序
        if(empty($order)){
            $data=Db::name('admin_auth_rule')->select();
        }else{
            $data=Db::name('admin_auth_rule')->order($order.' is null,'.$order)->select();
        }
        // 获取树形或者结构数据
        if($type=='tree'){
            $data=\Data::tree($data,$name,$child,$parent);
        }elseif($type="level"){
            $data=\Data::channelLevel($data,0,'&nbsp;',$child);
        }
        return $data;
    }

}